返回案例列表
资源下载
打开解决方案文件之前,请先阅读 如何查看案例
问题描述
如何检测PCB上小方格的对齐情况?

效果图展示


解答思路
使用灵闪中的“多模板定位”工具,设置模板找到完整的方块。可以得到方块的中心点和倾斜角度。 参数如下图

定位后的效果图:

使用灵闪中的“点阵排序”工具,“待排序点”选择“多模板定位:中心”,得到排序的矩阵。可以打开“补全缺失点”自动“-1”补齐矩阵


使用“矩阵计算”工具,可以自己写python脚本实现,角度和排列是否整齐的筛选

import numpy as np
img = [图像增强.输出图像]
sort_index = [点阵排序.序号列表]
sort_xy = [点阵排序.序号矩阵]
box_center_list = [多模板定位.中心]
box_angle_list = [多模板定位.角度]
# 找到角度不齐的box
angle_mean = sum(box_angle_list) / len(box_angle_list)
angle_wrong_list = []
for index in sort_index:
index = int(index)
angle = box_angle_list[index]
if not angle_mean - 2 < angle < angle_mean + 2:
angle_wrong_list.append(index)
for index in angle_wrong_list:
x = int(box_center_list[index * 2])
y =int(box_center_list[index * 2 + 1])
img[(y-5):(y+5), (x-5):(x+5)] = [0,0,255]
Result = img